#include <iostream> 
#include <string>
#include <stack> 
#include <map>
using namespace std;

double value(const string &s){
	map<string,double> mp = {{"10",10},{"A",1},{"J",11},{"Q",12},{"K",13}};
	if( s.length()==1 && s[0]>='2' && s[0] <='9') return s[0]-'0';
	else return mp[s];
} 
bool f(const string a[],int ly,char opr[]){
	if( ly==4 ){
		double res = value(a[0]);
		for(int i=0;i<3;i++){
			switch(opr[i]){
				case '+': res = res + value(a[i+1]);break;
				case '-': res = res - value(a[i+1]);break;
				case '*': res = res * value(a[i+1]);break;
				case '/': res = res / value(a[i+1]);break;
			}
		}
		if( res==24 ) return true;
		else return false;
	}
	string s = "+-*/";
	for(int i=0; i<4; i++){
		opr[ly] = s[i];
		if( f(a,ly+1,opr) ) return true;
	}
	return false;
}
bool com(const string a[],int len,int ly, string b[]){
	if( ly==4 ){
		char opr[3];
		if( f(b,0,opr) ){
			for(int i=0; i<3; i++)
				cout << b[i] << opr[i];
			cout << b[3];
			return true;
		}else return false;
	}
	for(int i=0; i<len; i++){
		int j=0;
		for(;j<ly; j++ ) if( a[i]==b[j] ) break;
		if( j==ly ){
			b[ly] = a[i];
			if( com(a,len,ly+1,b) ) return true;
		}
	}
	return false;
}
double ffff(string a[],char opr[]){
	double res = value(a[0]);
	for(int i=0;i<3;i++){
		switch(opr[i]){
			case '+': res = res + value(a[i+1]);break;
			case '-': res = res - value(a[i+1]);break;
			case '*': res = res * value(a[i+1]);break;
			case '/': res = res / value(a[i+1]);break;
		}
	}
	return res;
}
int main(){
//	string aa[4] = {"1","2","2","6"};
//	char oprr[4] = "++*";
//	cout << ffff(aa,oprr);
	string a[4];
	for(int i=0; i<4; i++){
		cin >> a[i];
		if( a[i]=="joker"||a[i]=="JOKER"){
			cout << "ERROR";
			return 0;
		}
	}
	string b[4];
	if( !com(a,4,0,b) ) cout << "NONE";
	return 0;
}
